package br.ufu.wcm.controller;

import java.util.List;

import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Put;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.ufu.wcm.dao.MembroDao;
import br.ufu.wcm.model.Membro;

@Resource
public class MembroController {
	
	private MembroDao membroDao;
	private Result result;
	
	public MembroController(MembroDao membroDao, Result result) {
		this.membroDao = membroDao;
		this.result = result; 
	}
	
	public void formulario(){
	}
	
	@Get @Path("/membro")
	public List<Membro> lista() {
		return membroDao.buscarTodos();
	}
	
	@Path("/membro/atualiza/{membro.codigo}")
	public void atualiza(Membro membro) {
		Membro membroBanco = membroDao.get(membro.getCodigo());
		result.include("membro", membroBanco);
		result.redirectTo(MembroController.class).formulario();
	}
	
	@Post("/membro")
	public void salvar(Membro membro) {
		membroDao.salvar(membro);
		result.redirectTo(MembroController.class).lista();
	}
	
	@Put("/membro")
	public void atualizar(Membro membro) {
		membroDao.atualizar(membro);
		result.redirectTo(MembroController.class).lista();
	}
	
	@Path("/membro/remove/{membro.codigo}")
	public void remover(Membro membro) {
		membroDao.remover(membro);
		result.redirectTo(MembroController.class).lista();
	}

}
